home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3.2 / Ham Radio Version 3.2 (Chestnut CD-ROMs)(1993).ISO / control / ic735b / ic735b.asc next >
Text File  |  1989-07-09  |  14KB  |  933 lines

  1. DECLARE SUB rmem (M!)
  2. DECLARE SUB pfreq ()
  3. DECLARE SUB cbuf ()
  4. DECLARE SUB rmode (mode!)
  5. DECLARE SUB rfreq (d1$, d2$, d3$, d4$)
  6. DECLARE SUB check (rpt!)
  7.  
  8. 'Icom-735 Control Program
  9. 'Robert A. Harris
  10. 'WB4HRH
  11. 'CIS# 74365,162
  12. 'VERSION #3
  13. '
  14. 'This program was written in Quick Basic Ver. 4.5
  15. 'All code is in the Public Domain
  16.  
  17.  
  18. DECLARE SUB Memchan (S$, M!)
  19. DECLARE SUB Selectmem (M!)
  20. DECLARE SUB Setfreqs ()
  21. DECLARE SUB Setmode ()
  22. DECLARE SUB Selectvfo ()
  23. DECLARE SUB Mmode (M!)
  24. DECLARE SUB FtM ()
  25. DECLARE SUB MtF ()
  26.  
  27. SP$ = CHR$(254)
  28. EP$ = CHR$(253)
  29.  
  30. COMP$ = CHR$(2)
  31. GETFREQ$ = CHR$(3)
  32. RQMODE$ = CHR$(4)
  33. SETMOD$ = CHR$(6)
  34. SETFRQ$ = CHR$(5)
  35. SETVFO$ = CHR$(7)
  36. SETMEMCHAN$ = CHR$(8)
  37. STOREFTOM$ = CHR$(9)
  38. WRITEMTOV$ = CHR$(&HA)
  39.  
  40. SCREEN 0
  41. COLOR 1, 15
  42.  
  43. 'Set Com: Port
  44. CLS
  45. LOCATE 10, 25
  46. PRINT " WHICH COM: PORT ? ( 1 or 2 )";
  47. DO
  48. FLAG = 1
  49. Z$ = INPUT$(1)
  50. SELECT CASE Z$
  51.     CASE "1"
  52.       c$ = "COM1:1200,N,8,1"
  53.     CASE "2"
  54.       c$ = "COM2:1200,N,8,1"
  55.     CASE ELSE
  56.       FLAG = 0
  57.   END SELECT
  58. LOOP WHILE FLAG = 0
  59.  
  60. ON ERROR GOTO 1
  61.  
  62. OPEN c$ FOR RANDOM AS #1 LEN = 1000
  63.  
  64. 'type of rig
  65. CLS
  66. LOCATE 5, 30
  67.  
  68. PRINT " Select ICOM Radio "
  69. LOCATE 9, 25
  70. PRINT "{1} IC-735";
  71. LOCATE 11, 25
  72. PRINT "{2} IC-725";
  73. LOCATE 13, 25
  74. PRINT "{3} IC-7000";
  75. LOCATE 15, 25
  76. PRINT "{4} IC-761";
  77. LOCATE 17, 25
  78. PRINT "{5} IC-781";
  79.  
  80. r$ = INPUT$(1)
  81.  
  82. SELECT CASE r$
  83.     CASE "1"
  84.       icom$ = CHR$(4)
  85.       RIG$ = "IC-735"
  86.     CASE "2"
  87.       icom$ = CHR$(&H40)
  88.       RIG$ = "IC-725"
  89.     CASE "3"
  90.       icom$ = CHR$(8)
  91.       RIG$ = "IC-7000"
  92.     CASE "4"
  93.       icom$ = CHR$(&H30)
  94.       RIG$ = "IC-761"
  95.     CASE "5"
  96.       icom$ = CHR$(&H38)
  97.       RIG$ = "IC-781"
  98.     CASE ELSE
  99.       CLS
  100.       LOCATE 10, 30
  101.       PRINT "Not a Selection ...."
  102.       LOCATE 12, 35
  103.       PRINT " BYE"
  104.       FOR count = 1 TO 2000
  105.       NEXT count
  106.      
  107.       END
  108.  
  109. END SELECT
  110.  
  111.  
  112.  
  113. CLS
  114. M = 1
  115. 'Initialize
  116. 'Select Memory Mode 1
  117. PRINT #1, SP$;
  118. PRINT #1, SP$;
  119. PRINT #1, icom$;
  120. PRINT #1, COMP$;
  121. PRINT #1, SETMEMCHAN$;
  122. PRINT #1, CHR$(1);
  123. PRINT #1, EP$;
  124.  
  125.  
  126. LOCATE 12, 25
  127. PRINT "Written by R. A. Harris"
  128. LOCATE 14, 32
  129. PRINT "WB4HRH"
  130. FOR count = 1 TO 1500
  131. NEXT count
  132.  
  133. 'MAIN MENU
  134.  
  135. 3 ON ERROR GOTO 2
  136.  
  137. DO
  138. CLS
  139.  
  140. CALL check(rpt!)
  141.  
  142. 'GET FREQUENCY
  143. 'CALL rfreq(d1$, d2$, d3$, d4$)
  144. CALL pfreq
  145.  
  146. CALL check(rpt!)
  147. 'GET MODE
  148. CALL rmode(mode)
  149. cbuf
  150. CALL rmem(M)
  151. LOCATE 2, 23
  152. PRINT RIG$; " CONTROL PROGRAM";
  153. COLOR 1, 15
  154.  
  155. LOCATE 7, 10
  156. PRINT "{F} Set Frequency"
  157. LOCATE 9, 10
  158. PRINT "{M} Set Mode"
  159. LOCATE 11, 10
  160. PRINT "{V} Select VFO"
  161. LOCATE 13, 10
  162. PRINT "{C} Select Memory Channel"
  163. LOCATE 15, 10
  164. PRINT "{S} Store Frequency in Memory"
  165. LOCATE 17, 10
  166. PRINT "{W) Write Memory to VFO"
  167. LOCATE 19, 10
  168. PRINT "{U} Update Status"
  169.  
  170. LOCATE 23, 10
  171. PRINT "{Q} Quit Program"
  172.  
  173. DO
  174. FLAG = 1
  175. COLOR 0, 15
  176.  
  177. DO
  178. LOCATE 4, 25
  179. PRINT DATE$; "  "; TIME$;
  180. S$ = INKEY$
  181. 'CALL pfreq
  182. LOOP WHILE S$ = ""
  183.  
  184.  
  185. COLOR 1, 15
  186.  
  187. SELECT CASE S$
  188.     CASE "F", "f"
  189.       CALL Setfreqs
  190.     CASE "M", "m"
  191.       CALL Setmode
  192.     CASE "V", "v"
  193.       CALL Selectvfo
  194.     CASE "C", "c"
  195.       CALL Selectmem(M)
  196.     CASE "S", "s"
  197.       CALL FtM
  198.     CASE "W", "w"
  199.       CALL MtF
  200.     CASE "U", "u"
  201.       CLS
  202.  
  203.     CASE "Q", "q"
  204.       EXIT DO
  205.  
  206. CASE ELSE
  207.    FLAG = 0
  208. END SELECT
  209.  
  210. LOOP WHILE FLAG = 0
  211. IF S$ = "Q" OR S$ = "q" THEN EXIT DO
  212.  
  213. LOOP
  214.  
  215. CLOSE #1
  216.  
  217. CLS
  218. LOCATE 10, 5
  219. PRINT "Brought to you by WB4HRH"
  220. LOCATE 12, 10
  221. PRINT "R.A.HARRIS"
  222. LOCATE 14, 8
  223. PRINT "CIS# 74365,162"
  224. Z$ = INPUT$(1)
  225.  
  226. END
  227.  
  228. 1 CLS
  229.   LOCATE 10, 5
  230.   PRINT "COMMUNICATIONS PROBLEM";
  231.   LOCATE 12, 5
  232.   PRINT " CHECK ALL CONNECTIONS";
  233.   LOCATE 15, 7
  234.   PRINT "( PRESS ANY KEY )"
  235.  
  236.   Z$ = INPUT$(1)
  237.  
  238. END
  239.  
  240. 2 CLOSE #1
  241. OPEN c$ FOR RANDOM AS #1 LEN = 256
  242. GOTO 3
  243. END
  244.  
  245. SUB cbuf
  246.  
  247. FOR count = 1 TO 10
  248. NEXT count
  249.  
  250. DO
  251. r$ = INPUT$(LOC(1), #1)
  252. LOOP WHILE NOT EOF(1)
  253.  
  254.  
  255. END SUB
  256.  
  257. SUB check (rpt)
  258.  
  259. SP$ = CHR$(254)
  260. EP$ = CHR$(253)
  261. SHARED icom$
  262. COMP$ = CHR$(2)
  263. GETFREQ$ = CHR$(3)
  264. SETMOD$ = CHR$(6)
  265. SETFRQ$ = CHR$(5)
  266. SETVFO$ = CHR$(7)
  267. SETMEMCHAN$ = CHR$(8)
  268. STOREFTOM$ = CHR$(9)
  269. WRITEMTOV$ = CHR$(&HA)
  270.  
  271.  
  272.  
  273. FOR count = 1 TO 500
  274.  
  275. NEXT count
  276.  
  277. DO
  278. r$ = INPUT$(LOC(1), #1)
  279. IF r$ = CHR$(&HFA) THEN rpt = 1 ELSE rpt = 0
  280. 'LOCATE 2, 1
  281. 'PRINT r$;
  282. LOOP WHILE NOT EOF(1)
  283.  
  284. END SUB
  285.  
  286. SUB FtM
  287.  
  288. SP$ = CHR$(254)
  289. EP$ = CHR$(253)
  290. SHARED icom$
  291. COMP$ = CHR$(2)
  292. GETFREQ$ = CHR$(3)
  293. SETVFO$ = CHR$(7)
  294. SETMEMCHAN$ = CHR$(8)
  295. STOREFTOM$ = CHR$(9)
  296. WRITEMTOV$ = CHR$(10)
  297.  
  298. PRINT #1, SP$;
  299. PRINT #1, SP$;
  300. PRINT #1, icom$;
  301. PRINT #1, COMP$;
  302. PRINT #1, STOREFTOM$;
  303. PRINT #1, EP$;
  304.  
  305. CALL check(rpt)
  306.  
  307. END SUB
  308.  
  309. SUB Memchan (S$, M)
  310.  
  311. SP$ = CHR$(254)
  312. EP$ = CHR$(253)
  313. SHARED icom$
  314. COMP$ = CHR$(2)
  315. GETFREQ$ = CHR$(3)
  316. SETVFO$ = CHR$(7)
  317. SETMEMCHAN$ = CHR$(8)
  318. STOREFTOM$ = CHR$(9)
  319. WRITEMTOV$ = CHR$(10)
  320.  
  321. IF S$ = "U" OR S$ = "u" THEN M = M + 1
  322. IF M = 13 THEN M = 1
  323.  
  324. IF S$ = "D" OR S$ = "d" THEN M = M - 1
  325. IF M = 0 THEN M = 12
  326.  
  327.  
  328. END SUB
  329.  
  330. SUB Mmode (M)
  331. SP$ = CHR$(254)
  332. EP$ = CHR$(253)
  333. SHARED icom$
  334. COMP$ = CHR$(2)
  335. GETFREQ$ = CHR$(3)
  336. SETVFO$ = CHR$(7)
  337. SETMEMCHAN$ = CHR$(8)
  338. STOREFTOM$ = CHR$(9)
  339. WRITEMTOV$ = CHR$(10)
  340.  
  341. 'Put in Memory Channel Mode'
  342. PRINT #1, SP$;
  343. PRINT #1, SP$;
  344. PRINT #1, icom$;
  345. PRINT #1, COMP$;
  346. PRINT #1, SETMEMCHAN$;
  347. PRINT #1, EP$;
  348. CALL check(rpt)
  349.  
  350. M = M
  351. END SUB
  352.  
  353. SUB MtF
  354.  
  355. SP$ = CHR$(254)
  356. EP$ = CHR$(253)
  357. SHARED icom$
  358. COMP$ = CHR$(2)
  359. GETFREQ$ = CHR$(3)
  360. SETVFO$ = CHR$(7)
  361. SETMEMCHAN$ = CHR$(8)
  362. STOREFTOM$ = CHR$(9)
  363. WRITEMTOV$ = CHR$(&HA)
  364. SHARED RIG$
  365.  
  366.  
  367. 'Selct VFO`
  368. CLS
  369. LOCATE 4, 8
  370. PRINT RIG$; " CONTROL PROGRAM"
  371. LOCATE 8, 10
  372. PRINT "{A} Write to VFO A"
  373. LOCATE 10, 10
  374. PRINT "{B} Write to VFO B"
  375.  
  376. FLAG = 0
  377. DO
  378. S$ = INPUT$(1)
  379. SELECT CASE S$
  380.     CASE "a", "A"
  381.       vfo = 0
  382.       FLAG = 1
  383.     CASE "B", "b"
  384.       vfo = 1
  385.       FLAG = 1
  386. CASE ELSE
  387.      FLAG = 0
  388. END SELECT
  389. LOOP UNTIL FLAG = 1
  390.  
  391. 'SEND INPUT TO RADIO
  392. PRINT #1, SP$;
  393. PRINT #1, SP$;
  394. PRINT #1, icom$;
  395. PRINT #1, COMP$;
  396. PRINT #1, SETVFO$;
  397. PRINT #1, CHR$(vfo);
  398. PRINT #1, EP$;
  399.  
  400. FOR count = 1 TO 500
  401. NEXT count
  402.  
  403. PRINT #1, SP$;
  404. PRINT #1, SP$;
  405. PRINT #1, icom$;
  406. PRINT #1, COMP$;
  407. PRINT #1, WRITEMTOV$;
  408. PRINT #1, EP$;
  409. CALL check(rpt)
  410.  
  411. END SUB
  412.  
  413. SUB pfreq
  414.  
  415. SP$ = CHR$(254)
  416. EP$ = CHR$(253)
  417. SHARED icom$
  418. COMP$ = CHR$(2)
  419. GETFREQ$ = CHR$(3)
  420. SETMOD$ = CHR$(6)
  421. SETFRQ$ = CHR$(5)
  422. SETVFO$ = CHR$(7)
  423. SETMEMCHAN$ = CHR$(8)
  424. STOREFTOM$ = CHR$(9)
  425. WRITEMTOV$ = CHR$(&HA)
  426.  
  427. DIM d$(1 TO 17)
  428.  
  429. PRINT #1, SP$;
  430. PRINT #1, SP$;
  431. PRINT #1, icom$;
  432. PRINT #1, COMP$;
  433. PRINT #1, GETFREQ$;
  434. PRINT #1, EP$;
  435.  
  436. c = 0
  437. DO
  438. c = c + 1
  439.  
  440. DO
  441. r$ = INPUT$(LOC(1), #1)
  442. LOOP WHILE r$ = ""
  443. x = ASC(r$)
  444. d$(c) = HEX$(x)
  445.  
  446. LOOP WHILE c < 16
  447.  
  448. LOCATE 7, 45
  449.  
  450.  
  451. 'print on screen
  452. COLOR 2, 0
  453. PRINT " Frequency: ";
  454. PRINT d$(15);
  455. PRINT ".";
  456.  
  457. IF LEN(d$(14)) = 1 THEN PRINT "0";
  458. PRINT d$(14);
  459.  
  460. IF LEN(d$(13)) = 1 THEN t$ = "0" ELSE t$ = LEFT$(d$(13), 1)
  461. H$ = RIGHT$(d$(13), 1)
  462. PRINT t$;
  463. PRINT ".";
  464. PRINT H$;
  465.  
  466. PRINT d$(12);
  467. PRINT " ";
  468. COLOR 0, 15
  469.  
  470.  
  471. END SUB
  472.  
  473. SUB rfreq (d1$, d2$, d3$, d4$)
  474.  
  475. SP$ = CHR$(254)
  476. EP$ = CHR$(253)
  477. 'SHARED icom$
  478. COMP$ = CHR$(2)
  479. GETFREQ$ = CHR$(3)
  480. SETMOD$ = CHR$(6)
  481. SETFRQ$ = CHR$(5)
  482. SETVFO$ = CHR$(7)
  483. SETMEMCHAN$ = CHR$(8)
  484. STOREFTOM$ = CHR$(9)
  485. WRITEMTOV$ = CHR$(&HA)
  486.  
  487. DIM i$(1 TO 17)
  488. DIM d$(1 TO 17)
  489.  
  490. PRINT #1, SP$;
  491. PRINT #1, SP$;
  492. PRINT #1, icom$;
  493. PRINT #1, COMP$;
  494. PRINT #1, GETFREQ$;
  495. PRINT #1, EP$;
  496.  
  497. c = 0
  498. DO
  499. c = c + 1
  500.  
  501. DO
  502. r$ = INPUT$(LOC(1), #1)
  503. LOOP WHILE r$ = ""
  504.  
  505. i$(c) = r$
  506. LOOP WHILE c < 16
  507.  
  508. d1$ = i$(12)
  509. d2$ = i$(13)
  510. d3$ = i$(14)
  511. d4$ = i$(15)
  512.  
  513.  
  514. END SUB
  515.  
  516. SUB rmem (M)
  517. COLOR 2, 0
  518. LOCATE 13, 45
  519. PRINT " Memory Channel: "; M; " "
  520. COLOR 1, 15
  521.  
  522. END SUB
  523.  
  524. SUB rmode (mode)
  525.  
  526. SP$ = CHR$(254)
  527. EP$ = CHR$(253)
  528. SHARED icom$
  529. COMP$ = CHR$(2)
  530. GETFREQ$ = CHR$(3)
  531. RQMODE$ = CHR$(4)
  532. SETMOD$ = CHR$(6)
  533. SETFRQ$ = CHR$(5)
  534. SETVFO$ = CHR$(7)
  535. SETMEMCHAN$ = CHR$(8)
  536. STOREFTOM$ = CHR$(9)
  537. WRITEMTOV$ = CHR$(&HA)
  538.  
  539. DIM d(17)
  540.  
  541. PRINT #1, SP$;
  542. PRINT #1, SP$;
  543. PRINT #1, icom$;
  544. PRINT #1, COMP$;
  545. PRINT #1, RQMODE$;
  546. PRINT #1, EP$;
  547.  
  548.  
  549. c = 0
  550. DO
  551. c = c + 1
  552. DO
  553. r$ = INPUT$(LOC(1), #1)
  554. LOOP WHILE r$ = ""
  555. d(c) = ASC(r$)
  556. LOOP WHILE c < 13
  557.  
  558. LOCATE 9, 45
  559.  
  560. 'print on screen
  561. COLOR 2, 0
  562. PRINT " Mode: ";
  563. SELECT CASE d(12)
  564.   CASE 0
  565.    PRINT "LSB";
  566.   CASE 1
  567.    PRINT "USB";
  568.   CASE 2
  569.    PRINT "AM";
  570.   CASE 3
  571.    PRINT "CW";
  572.   CASE 4
  573.    PRINT "RTTY";
  574.   CASE 5
  575.    PRINT "FM";
  576.   CASE ELSE
  577.    PRINT "    ";
  578. END SELECT
  579. PRINT "            ";
  580.  
  581. LOCATE 9, 57
  582.  
  583. 'Bandwidth if present
  584.  
  585.  
  586. SELECT CASE d(13)
  587.   CASE 1
  588.    PRINT "B-width: WIDE";
  589.   CASE 2
  590.    PRINT "B-width: MEDIUM";
  591.   CASE 3
  592.    PRINT "B-width: NARROW";
  593. END SELECT
  594.  
  595. COLOR 1, 15
  596.  
  597. mode = d(12)
  598.  
  599.  
  600.  
  601. END SUB
  602.  
  603. SUB Selectmem (M)
  604.  
  605. SP$ = CHR$(254)
  606. EP$ = CHR$(253)
  607. SHARED icom$
  608. COMP$ = CHR$(2)
  609. GETFREQ$ = CHR$(3)
  610. SETVFO$ = CHR$(7)
  611. SETMEMCHAN$ = CHR$(8)
  612. STOREFTOM$ = CHR$(9)
  613. WRITEMTOV$ = CHR$(10)
  614. SHARED RIG$
  615.  
  616. d$ = CHR$(25)
  617. U$ = CHR$(24)
  618.  
  619. 'Select Memory Channel
  620.  
  621. CLS
  622. LOCATE 4, 8
  623. PRINT RIG$; " CONTROL PROGRAM"
  624.  
  625. LOCATE 8, 10
  626. PRINT "{M} Memory Mode"
  627. LOCATE 10, 10
  628. PRINT "{#} Channel Number"
  629. LOCATE 12, 10
  630. PRINT "{U} Channel UP"
  631. LOCATE 14, 10
  632. PRINT "{D} Channel Down"
  633. LOCATE 22, 10
  634. PRINT "{Q} Return to Menu"
  635.  
  636. cbuf
  637. pfreq
  638. cbuf
  639. rmode (mode)
  640.  
  641. COLOR 2, 0
  642. LOCATE 13, 45
  643. PRINT " Memory Channel: "; M; " "
  644. COLOR 1, 15
  645.  
  646. DO
  647. e = 1
  648. DO
  649. FLAG = 1
  650. S$ = INPUT$(1)
  651.  
  652. SELECT CASE S$
  653.     CASE "1"
  654.       M = 1
  655.     CASE "2"
  656.       M = 2
  657.     CASE "3"
  658.       M = 3
  659.     CASE "4"
  660.       M = 4
  661.     CASE "5"
  662.       M = 5
  663.     CASE "6"
  664.       M = 6
  665.     CASE "7"
  666.       M = 7
  667.     CASE "8"
  668.       M = 8
  669.     CASE "9"
  670.       M = 9
  671.     CASE "-", "_"
  672.       M = 11
  673.     CASE "0"
  674.       M = 10
  675.     CASE "=", "+"
  676.       M = 12
  677.     CASE "U", "u"
  678.      CALL Memchan(S$, M)
  679.     CASE "D", "d"
  680.       CALL Memchan(S$, M)
  681.     CASE "M", "m"
  682.       CALL Mmode(M)
  683.     CASE "Q", "q"
  684.       e = 0
  685.       EXIT DO
  686. CASE ELSE
  687.   FLAG = 0
  688. END SELECT
  689.  
  690.  V$ = CHR$(M)
  691.  IF M = 10 THEN V$ = CHR$(&H10)
  692.  IF M = 11 THEN V$ = CHR$(&H11)
  693.  IF M = 12 THEN V$ = CHR$(&H12)
  694.  
  695. LOOP WHILE FLAG = 0
  696. IF e = 0 THEN EXIT DO
  697.  
  698. 'Select Memory Mode
  699. PRINT #1, SP$;
  700. PRINT #1, SP$;
  701. PRINT #1, icom$;
  702. PRINT #1, COMP$;
  703. PRINT #1, SETMEMCHAN$;
  704. PRINT #1, V$;
  705. PRINT #1, EP$;
  706.  
  707. CALL check(rpt)
  708. CALL pfreq
  709. CALL cbuf
  710. CALL rmode(mode)
  711.  
  712. COLOR 2, 0
  713. LOCATE 13, 45
  714. PRINT " Memory Channel: "; M; " "
  715. COLOR 1, 15
  716.  
  717. LOOP
  718.  
  719. END SUB
  720.  
  721. SUB Selectvfo
  722.  
  723. SP$ = CHR$(254)
  724. EP$ = CHR$(253)
  725. SHARED icom$
  726. COMP$ = CHR$(2)
  727. GETFREQ$ = CHR$(3)
  728. SETVFO$ = CHR$(7)
  729. SETMEMCHAN$ = CHR$(8)
  730. STOREFTOM$ = CHR$(9)
  731. WRITEMTOV$ = CHR$(10)
  732. SHARED RIG$
  733.  
  734. 'Selct VFO`
  735. CLS
  736. LOCATE 4, 8
  737. PRINT RIG$; " CONTROL PROGRAM"
  738. LOCATE 8, 10
  739. PRINT "{A} Select VFO A"
  740. LOCATE 10, 10
  741. PRINT "{B} Select VFO B"
  742. LOCATE 22, 10
  743. PRINT "{Q} Return to Main Menu"
  744.  
  745. FLAG = 0
  746. DO
  747. S$ = INPUT$(1)
  748. SELECT CASE S$
  749.     CASE "A", "a"
  750.       vfo = 0
  751.       FLAG = 1
  752.     CASE "B", "b"
  753.       vfo = 1
  754.       FLAG = 1
  755. CASE ELSE
  756.       FLAG = 0
  757. END SELECT
  758. LOOP UNTIL FLAG = 1
  759.  
  760. 'SEND INPUT TO RADIO
  761. PRINT #1, SP$;
  762. PRINT #1, SP$;
  763. PRINT #1, icom$;
  764. PRINT #1, COMP$;
  765. PRINT #1, SETVFO$;
  766. PRINT #1, CHR$(vfo);
  767. PRINT #1, EP$;
  768.  
  769. END SUB
  770.  
  771. SUB Setfreqs
  772. SHARED RIG$
  773.  
  774. 'FREQUENCY INPUT MODULE
  775. CLS
  776. LOCATE 4, 8
  777. PRINT RIG$; " CONTROL PROGRAM"
  778.  
  779. DIM i$(8)
  780. SP$ = CHR$(254)
  781. EP$ = CHR$(253)
  782. SHARED icom$
  783. COMP$ = CHR$(2)
  784. GETFREQ$ = CHR$(3)
  785. SETFRQ$ = CHR$(5)
  786. SETVFO$ = CHR$(7)
  787. SETMEMCHAN$ = CHR$(8)
  788. STOREFTOM$ = CHR$(9)
  789. WRITEMTOV$ = CHR$(&HA)
  790. BS$ = CHR$(8)
  791. CR$ = CHR$(13)
  792.  
  793. LOCATE 8, 6
  794. PRINT "INPUT FREQUENCY : "
  795. LOCATE 10, 6
  796. PRINT "Press ENTER to end";
  797. COLOR 2, 0
  798.  
  799. LOCATE 8, 23
  800. PRINT "          "
  801.  
  802. 'ENTER AND PRINT
  803. N = 1
  804. DO  'MAIN ROUTINE
  805. IF N = 0 THEN N = 1
  806. DO  'INPUT ROUTINE
  807. FLAG = 1
  808. i$(N) = INPUT$(1)
  809.  
  810. IF i$(N) < "0" THEN FLAG = 0
  811. IF i$(N) > "9" THEN FLAG = 0
  812. IF i$(1) > "2" THEN FLAG = 0
  813. IF i$(N) = BS$ THEN
  814.    FLAG = 1
  815.    N = N - 1
  816.    i$(N) = " "
  817.    END IF
  818. IF i$(N) = CR$ THEN FLAG = 1
  819.  
  820. LOOP WHILE FLAG = 0
  821. IF i$(N) = CR$ THEN EXIT DO
  822.  
  823. LOCATE 8, 24
  824. PRINT "        "
  825.  
  826. LOCATE 8, 24
  827.  
  828. IF N = 1 THEN PRINT i$(1) + " " + ".";
  829. IF N = 2 THEN PRINT i$(1) + i$(2) + ".";
  830. IF N = 3 THEN PRINT i$(1) + i$(2) + "." + i$(3);
  831. IF N = 4 THEN PRINT i$(1) + i$(2) + "." + i$(3) + i$(4);
  832. IF N = 5 THEN PRINT i$(1) + i$(2) + "."; i$(3) + i$(4) + i$(5) + ".";
  833. IF N = 6 THEN PRINT i$(1) + i$(2) + "." + i$(3) + i$(4) + i$(5) + "." + i$(6);
  834. IF i$(N) = " " THEN N = N ELSE N = N + 1
  835.  
  836. LOOP WHILE N < 7
  837.  
  838.  
  839. N = N - 1
  840.  
  841. FOR x = N + 1 TO 6
  842.   i$(x) = "0"
  843.   NEXT x
  844. N = 6
  845.  
  846. 'SEND INPUT TO RADIO
  847. PRINT #1, SP$;
  848. PRINT #1, SP$;
  849. PRINT #1, icom$;
  850. PRINT #1, COMP$;
  851. PRINT #1, SETFRQ$;
  852. PRINT #1, CHR$(&H0);
  853. x = N
  854. FOR x = N TO 1 STEP -2
  855.   P = 0
  856.   IF x = 1 THEN
  857.     TWO$ = "&H" + i$(x)
  858.   ELSE
  859.     TWO$ = "&H" + i$(x - 1) + i$(x)
  860.   END IF
  861.   d = VAL(TWO$)
  862.   PRINT #1, CHR$(d);
  863. NEXT x
  864. PRINT #1, EP$;
  865. COLOR 1, 15
  866.  
  867. END SUB
  868.  
  869. SUB Setmode
  870.  
  871. 'Set the mode
  872.  
  873. SP$ = CHR$(254)
  874. EP$ = CHR$(253)
  875. SHARED icom$
  876. COMP$ = CHR$(2)
  877. GETFREQ$ = CHR$(3)
  878. SETFRQ$ = CHR$(5)
  879. SETMOD$ = CHR$(6)
  880. SETVFO$ = CHR$(7)
  881. SETMEMCHAN$ = CHR$(8)
  882. STOREFTOM$ = CHR$(9)
  883. WRITEMTOV$ = CHR$(10)
  884. SHARED RIG$
  885.  
  886. CLS
  887. LOCATE 4, 8
  888. PRINT RIG$; " CONTROL PROGRAM"
  889. LOCATE 8, 10
  890. PRINT "{U} USB"
  891. LOCATE 10, 10
  892. PRINT "{L} LSB"
  893. LOCATE 12, 10
  894. PRINT "{A} AM"
  895. LOCATE 14, 10
  896. PRINT "{F} FM"
  897. LOCATE 16, 10
  898. PRINT "{C} CW"
  899.  
  900.  
  901. DO
  902. FLAG = 1
  903. S$ = INPUT$(1)
  904. SELECT CASE S$
  905.     CASE "u", "U"
  906.       mode = 1
  907.     CASE "L", "l"
  908.       mode = 0
  909.     CASE "A", "a"
  910.       mode = 2
  911.     CASE "F", "f"
  912.       mode = 5
  913.     CASE "C", "c"
  914.       mode = 3
  915.  
  916. CASE ELSE
  917.      FLAG = 0
  918. END SELECT
  919.  
  920. LOOP WHILE FLAG = 0
  921.  
  922. 'SEND INPUT TO RADIO
  923. PRINT #1, SP$;
  924. PRINT #1, SP$;
  925. PRINT #1, icom$;
  926. PRINT #1, COMP$;
  927. PRINT #1, SETMOD$;
  928. PRINT #1, CHR$(mode);
  929. PRINT #1, EP$;
  930.  
  931. END SUB
  932.  
  933.